package com.yang.service;

import com.baomidou.mybatisplus.extension.service.IService;

import com.yang.domain.DTO.AddRoleDto;
import com.yang.domain.DTO.ChangeRoleStatusDto;
import com.yang.domain.DTO.UpdateRoleDto;
import com.yang.domain.Result;
import com.yang.domain.VO.PageVo;
import com.yang.domain.entity.Role;

import java.util.List;


/**
 * 角色信息表(Role)表服务接口
 *
 * @author makejava
 * @since 2022-10-03 21:10:21
 */
public interface RoleService extends IService<Role> {

    /**
     * 根据用户id查询出所有的角色信息
     */
    List<String> selectRoleKeyByUserId(Long userId);

    /**
     * 分页查找所有的用户信息
     * 可以选择状态和角色名字作为查询条件
     */
    PageVo selectRolePage(Role role, Integer pageNum, Integer pageSize);

    /**
     * 改变角色的状态
     */
    Result changeStatus(ChangeRoleStatusDto dto);

    /**
     * 添加角色,并且将信息添加到关联表当中
     */
    Result addRole(Role role);

    /**
     * 修改角色信息
     */
    Result updateRole(UpdateRoleDto role);

    /**
     * 查询出所有状态正常的角色
     */
    List<Role> selectRoleAll();

    /**
     * 根据用户查询出角色信息
     */
    List<Long> selectRoleIdByUserId(Long userId);
}


